/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2025. All rights reserved.
 * Global Trust Authority is licensed under the Mulan PSL v2.
 * You can use this software according to the terms and conditions of the Mulan PSL v2.
 * You may obtain a copy of Mulan PSL v2 at:
 *     http://license.coscl.org.cn/MulanPSL2
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
 * PURPOSE.
 * See the Mulan PSL v2 for more details.
 */

// RSA-signed equipment root certificate
pub const VCCA_EQUIPMENT_ROOT_CA_RSA: &str =
"-----BEGIN CERTIFICATE-----
MIIFPzCCAyegAwIBAgIRdiVgAipHXuymK3xorJs/KYYwDQYJKoZIhvcNAQELBQAw
PDELMAkGA1UEBhMCQ04xDzANBgNVBAoTBkh1YXdlaTEcMBoGA1UEAxMTSHVhd2Vp
IEVxdWlwbWVudCBDQTAeFw0xMTEyMDYwNzM0MjNaFw00MTExMjgwNzM0MjNaMDwx
CzAJBgNVBAYTAkNOMQ8wDQYDVQQKEwZIdWF3ZWkxHDAaBgNVBAMTE0h1YXdlaSBF
cXVpcG1lbnQgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCiiYQn
C/Mp9obmAnXmu/Nj6rccSkEQJXlZipOv8tIjvr0B8ObpFUnU+qLojZUYlNmXH8Rg
RgFB1sBSyOuGiiP0uNtJ0lPLbylsc+2fr2Rlt/qbYs1oQGz+oNl+UdAOtm/lPzgg
UOVVst15Ovf0Yf6LQ3CQalN2VJWgKpFUudDKWQ2fzbFT5YSfvhFxvtvWfgdntKAJ
t3sFvkKr9Qw+0EYNpQiw5EALeLWCZSYU7A939puqYR6aNA447S1K8SgWoav82P4U
Y/ykLXjcgTeCnvRRtUga1gdIwm5d/vRlB5il5wspGLLes4SomzUYrvnvHio555NZ
PpvmpIXNolwvYW5opAyYzE05pVSOmHf/RY/dHto8XWexOJq/UAFBMyiH4NT4cZpW
jYWR7W9GxRXApmQrrLXte1CF/IzXWBMA2tSL0WnRJz5HRcKzsOC6FksiqsYstFjc
CE7J7Nicr3Bwq5FrZiqGSdLmLRn97XqVlWdN31HX16fzRhZMiOkvQe+uYT+BXbhU
1fZIh6RRAH3V1APobVlCXh5PDq8Ca4dClHNHYp5RP0Pb5zBowTqBzSv7ssHrNceQ
sWDeNjX9t59NwviaIlXIlPiWEEJc22XtMm4sc/+8mgOFMNXr4FWu8vdG2fgRpeWJ
O0E035D6TClu4So2GlN/fIccp5wVYAWF1WhxSQIDAQABozwwOjAMBgNVHRMEBTAD
AQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUKvgQWSeANR+nfLo7nyrkSqqbkuow
DQYJKoZIhvcNAQELBQADggIBAEDHZJ4vvx2kPmHEsN3OJOeF2nV6chjF1QZcUwlo
jhUtIv9jte9mci5qllvYRU5mia9rYZiP61XfdrwORf8QdJcI63QgrIj7MtnJULcU
Ukk0Sj9Fz6rswfhlaqtRjDp2ljizCl9bmUzKZTl40m/SMbItbSyYXvKrgSPTwgPo
/MralqpJcuoUkf+JDZIP3AaIy+vecksJwmoFIc0OqwP7uNC55kr8kx70eH3QKaiA
U+8CL3N7gtMFBL2MALlk3vFEICEAhWvMGrYNtSzBUEJNTspx+qVxERBqxJImBsPG
D7LhLOaPlSzfbU6CD3C8G92Y7r4nCcQ+SOQv4k6TTRn8pOj5c0oy3Z28DeZGuzSX
NPsWur3aRVwE0mOY8cLBkgio7AQjqIAmdbo5vie7X1zshyEcA7FaE1mJdNS3WVCv
lMwTFwygq13svLQ5MwGPSexsHudZ5JP55tHXkQyPRqxdhFr+gxDw5oiv/LlxApB8
5MwEfTTs/uzS6FSWAUC0IAxWyZ3MytVAAL7SiwZp/eODWBwLXETlIKcu/fdhTfN5
q1Mm9TjMjJmDEoqzIDRjDuVR4v/3czRxMOkKtUHJt2ixeiidh9hjY6ae669BqpBR
W0d5dyNozy+IJcUo7Gg2+F1AhTLwvPiYlJLsNGZZvqXfhplpwcAnvtoGJvAj+QkL
iW4z
-----END CERTIFICATE-----";

// RSA-signed IT product certificate
pub const VCCA_IT_PRODUCT_CA_RSA: &str =
"-----BEGIN CERTIFICATE-----
MIIEsTCCApmgAwIBAgIRdjl5z9FobnagzdStBIQZVIcwDQYJKoZIhvcNAQELBQAw
PDELMAkGA1UEBhMCQ04xDzANBgNVBAoTBkh1YXdlaTEcMBoGA1UEAxMTSHVhd2Vp
IEVxdWlwbWVudCBDQTAeFw0xNjEwMTgwNjUwNTNaFw00MTEwMTIwNjUwNTNaMD0x
CzAJBgNVBAYTAkNOMQ8wDQYDVQQKEwZIdWF3ZWkxHTAbBgNVBAMTFEh1YXdlaSBJ
VCBQcm9kdWN0IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtKE3
0649koONgSJqzwKXpSxTwiGTGorzcd3paBGH75Zgm5GFv2K2TG3cU6seS6dt7Ig+
/8ntrcieQUttcWxpm2a1IBeohU1OTGFpomQCRqesDnlXXUS4JgZiDvPBzoqGCZkX
YRw37J5KM5TSZzdLcWgxAPjXvKPdLXfxGzhqg8GV1tTboqXoNEqVqOeViBjsjN7i
xIuu1Stauy9E0E5ZnSrwUjHc5QrR9CmWIu9D0ZJJp1M9VgcXy9evPhiHoz9o+KBd
fNwt4e/NymTqaPa+ngS/qZwI7A4tR4RKCMKFHJcsjaXwUb0RuIeCiPO3wPHgXmGL
uiKfyPV8SMLpE/wYaQIDAQABo4GsMIGpMB8GA1UdIwQYMBaAFCr4EFkngDUfp3y6
O58q5Eqqm5LqMEYGA1UdIAQ/MD0wOwYEVR0gADAzMDEGCCsGAQUFBwIBFiVodHRw
Oi8vc3VwcG9ydC5odWF3ZWkuY29tL3N1cHBvcnQvcGtpMA8GA1UdEwQIMAYBAf8C
AQAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBQSijfs+XNX1+SDurVvA+zdrhFO
zzANBgkqhkiG9w0BAQsFAAOCAgEAAg1oBG8YFvDEecVbhkxU95svvlTKlrb4l77u
cnCNhbnSlk8FVc5CpV0Q7SMeBNJhmUOA2xdFsfe0eHx9P3Bjy+difkpID/ow7oBH
q2TXePxydo+AxA0OgAvdgF1RBPTpqDOF1M87eUpJ/DyhiBEE5m+QZ6VqOi2WCEL7
qPGRbwjAFF1SFHTJMcxldwF6Q/QWUPMm8LUzod7gZrgP8FhwhDOtGHY5nEhWdADa
F9xKejqyDCLEyfzsBKT8V4MsdAo6cxyCEmwiQH8sMTLerwyXo2o9w9J7+vRAFr2i
tA7TwGF77Y1uV3aMj7n81UrXxqx0P8qwb467u+3Rj2Cs29PzhxYZxYsuov9YeTrv
GfG9voXz48q8ELf7UOGrhG9e0yfph5UjS0P6ksbYInPXuuvrbrDkQvLBYb9hY78a
pwHn89PhRWE9HQwNnflTZS1gWtn5dQ4uvWAfX19e87AcHzp3vL4J2bCxxPXEE081
3vhqtnU9Rlv/EJAMauZ3DKsMMsYX8i35ENhfto0ZLz1Aln0qtUOZ63h/VxQwGVC0
OCE1U776UUKZosfTmNLld4miJnwsk8AmLaMxWOyRsqzESHa2x1t2sXF8s0/LW5T7
d+j7JrLzey3bncx7wceASUUL3iAzICHYr728fNzXKV6OcZpjGdYdVREpM26sbxLo
77rH32o=
-----END CERTIFICATE-----";

// ECC-signed equipment root certificate
pub const VCCA_EQUIPMENT_ROOT_CA_ECCP521: &str =
"-----BEGIN CERTIFICATE-----
MIICoDCCAgKgAwIBAgIDazWSMAoGCCqGSM49BAMEMDwxDzANBgNVBAoTBkh1YXdl
aTEpMCcGA1UEAxMgSHVhd2VpIEVDQyBBdHRlc3RhdGlvbiBSb290IENBIDEwIBcN
MjQwMzMwMDQ1NDEyWhgPMjA3NDAzMzAwNDU0MTJaMDwxDzANBgNVBAoTBkh1YXdl
aTEpMCcGA1UEAxMgSHVhd2VpIEVDQyBBdHRlc3RhdGlvbiBSb290IENBIDEwgZsw
EAYHKoZIzj0CAQYFK4EEACMDgYYABAGPYVYcrvY5RGQiKtogIiYGWJRs/1Dwr9hJ
5zsc9zQaceMX0JANd8p2miTRJbri1iy1i0E0kPpQyLF13t+1tDwlqgG5TN8lwaCn
1E8AiOtZ/EP5L8Umpgpl89kcRv937Jkv2ivUznfJzgdNtZV1zDkSR0qvoPPGF5FJ
UVCQDaz9C1D4RKOBrTCBqjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
/zBHBgNVHSAEQDA+MDwGDCsGAQQBj1uBSQEEBzAsMCoGCCsGAQUFBwIBFh5odHRw
czovL3N1cHBvcnQuaHVhd2VpLmNvbS9wa2kwHQYDVR0OBBYEFKmN+LpfDw9KWfN5
oqWa4knCX5+kMB8GA1UdIwQYMBaAFKmN+LpfDw9KWfN5oqWa4knCX5+kMAoGCCqG
SM49BAMEA4GLADCBhwJCAS2rcB3imVKaunb/t+pq2hstjHAl5vqP2rt+0fjN14Cq
csMCl2u2oHznPTSaeN1CK5ObKROxkpdwsYVISiGDu3eJAkFFqY25Q86PK3sBro1V
MUnKR0sZvKRQK1Uvr7K/kDqQrW+nSgfdSX/n4ZmEYyozXyP3DQYYZwUNzfqk0ZHW
rXR7Mg==
-----END CERTIFICATE-----";

// ECC-signed IT product certificate
pub const VCCA_IT_PRODUCT_CA_ECCP521: &str =
"-----BEGIN CERTIFICATE-----
MIIDEzCCAnWgAwIBAgIREjwNmamCifcSzIM4CHEAvYEwCgYIKoZIzj0EAwQwPDEP
MA0GA1UEChMGSHVhd2VpMSkwJwYDVQQDEyBIdWF3ZWkgRUNDIEF0dGVzdGF0aW9u
IFJvb3QgQ0EgMTAgFw0yNDA5MTExMDEwNDBaGA8yMDc0MDMyODEwMTA0MFowRjEL
MAkGA1UEBhMCQ04xDzANBgNVBAoTBkh1YXdlaTEmMCQGA1UEAxMdSHVhd2VpIENv
bXB1dGluZyBFQ0MgQ0NBIENBIDEwgZswEAYHKoZIzj0CAQYFK4EEACMDgYYABAB9
eCf3EORVOECC4DFgOgdvttpC5nJ1/Yol0ErwQVhmP4DIMOnqHUVpzR/VXwblKVkH
Iu3LJ3fzBU0E+AQcdmMu/AG1ynEzkPvI7zhlkRVVX4nS7YoGndUYw86gsJdSfVn1
+ESZm1u+o9jMZIxZ4zLYEa+BzOYNOtRDLDGSLD06kdrygaOCAQcwggEDMB8GA1Ud
IwQYMBaAFKmN+LpfDw9KWfN5oqWa4knCX5+kMB0GA1UdDgQWBBSIMTazZebllUGe
vBwRPBtf4zdi7TASBgNVHRMBAf8ECDAGAQH/AgEAMEcGA1UdIARAMD4wPAYMKwYB
BAGPW4FJAQQHMCwwKgYIKwYBBQUHAgEWHmh0dHBzOi8vc3VwcG9ydC5odWF3ZWku
Y29tL3BraTAOBgNVHQ8BAf8EBAMCAQYwVAYDVR0fBE0wSzBJoEegRYZDaHR0cDov
L3N1cHBvcnQuaHVhd2VpLmNvbS9zdXBwb3J0L3BraS9lY2NfYXR0ZW5zdGF0aW9u
X3Jvb3RfY3JsLmNybDAKBggqhkjOPQQDBAOBiwAwgYcCQgHaDPvAEUAVeRVo4Mn+
UoVlcPtwa1TWDHYInzHQ9leL7PVTZLnCg6vKSuo0G3I9Gz/YtOz+ylTpzGekqJf/
00JKcQJBep4ZMYxe+KmplOj/uqoUvy97sQ77jFe+kQvlXkbt7QidjnTlT2itS6CS
HvWyRwqIjVLItwhea7FvwDhvUgyLdTc=
-----END CERTIFICATE-----";

// CVM token rem array size
pub const CVM_REM_ARR_SIZE: usize = 4;

// IMA template hash algorithm
pub const TEMPLATE_HASH_ALG: &str = "sha256";